=============================================================================
StrongED - A programmer's editor for RISC OS                  Version 4.69f11

(c) StrongED Developers, 1991-2019                              29 April 2019
=============================================================================


This file describes the changes made to StrongED 4.69, starting with the
initial 4.69f1 release right up to the current 4.69f11 (29-04-2019).


Changes in StrongED 4.69f11 (from 4.69f10, 04-06-2018)
======================================================

 - Fix clipboard problem with vncserve where SE would bluntly close a
   menu even when it was owned by another application.

 - The Refresh dialogue would show a different time for the on-disc copy
   compared to the unchanged loaded copy when the file was untyped.

 - Fix detection of BASIC files to avoid untyped files being mistaken
   for BASIC files (caused a problem when refreshing untyped files).

 - If a move of a text block was undone using the Toolbar icon and
   StrongED didn't have input focus then an abort would occur.

 - A Menu click over a LoF or Throwback window would abort when the
   FileInfo dialogue box was open.

 - The ScriptSED add-on has been updated to prevent scripts from
   appearing twice in the Scripts menu. The included Lua scripts have
   been updated for RiscLua 7.


Changes in StrongED 4.69f10 (from 4.69f9, 30-06-2016)
=====================================================

 - Added 2 calls to remove and restore cursors around plotting of bitmap
   characters. This fixes redraw glitches on machines where a software
   pointer is used (screen wider than 2048 pixels).

 - Removed some leftover test code instructions (Fastchar source file).


Changes in StrongED 4.69f9 (from 4.69f9, 31-01-2016)
====================================================

 - If a List-of-Found was configured to highlight matches in the text
   then an abort would occur. This affected LoFs with spelling mistakes
   mostly as these have the highlight option on by default.

 - Also, highlighted matches could fail to redraw correctly under
   certain conditions.

 - Attempting to edit BASIC programs that had been compacted often
   resulted in a non-working version after saving. StrongED can be
   configured to add spaces when detokenising a BASIC file to prevent
   errors on retokenising. The option for this is on by default but due
   to a bug it wasn't being obeyed.

 - There have been a few tweaks to the manual as well. A page on
   displaying line numbers has been added to the Introduction section.
   The section on advanced search has been brought in line with the 4.70
   manual. Various little corrections.


Changes in StrongED 4.69f9 (from 4.69f9, 27-12-2015)
====================================================

 - A bug fix to the TaskWindow code accidently introduced a new bug
   which prevented the insertion of strings longer than 32 characters
   (eg Shift dragging a file to insert its pathname).

 - The cursor position on the Infobar wasn't updated when (Ctrl-) Shift
   dragging a file to a TaskWindow.

 - Some of the interactive help messages were missing or out-of-date.
   The help messages have been updated.

 - While testing the updated help messages it was found that menus in
   dialogue boxes aborted when Help was active. This too has been fixed.

 - Saving the contents of an LoF resulted in 2 zero pains on versions of
   RISC OS 5 with a relocated zero page.

 - The Choices item in the iconbar menu had only 2 trailing dots instead
   of the usual 3.

 - The StrongHelp manual still contained a reference to the GPL even
   though 4.69f9 is released under the BSD licence.


Changes in StrongED 4.69f9 (from 4.69f8)
========================================

 - Fixed bug in redraw of throwback windows. If the line number was
   more than 6 digits wide, StrongED would freeze.

 - When opening an LoF using Ctrl-F and the pointer was over the LoF
   the cursor line (menu line) didn't appear. This was caused by the
   calculation of menuline worky in enter_window. The worky was +ve
   where Find_lofmenu expects a negative value. Fixed by making worky
   negative before calling Find_lofmenu in enter_2.

 - The windows for LoF and Throwback had the scroll events set to
   'Debounced' meaning that keeping the scroll arrows down didn't
   auto-scroll the window. Fixed by setting scroll events to
   Auto-repeat.

 - The ThrowbackOpen routine jumped straight back to MainLoop when no
   throwback record had to be created, without clearing the stack. Now
   jumps to end of routine. (Didn't cause any real problems as stack is
   flattened before calling Wimp_Poll but it's cleaner this way).

 - The code for adding the length of throwback prefix text/line number
   was testing r1 for the element type but the element type was moved to
   r8 in a previous rewrite.

 - Clicking a throwback window for a file that had been deleted/renamed
   would cause an abort after a couple of clicks.

 - The name under an iconised view could contain spurious characters.
   This was because the name wasn't being zero terminated after having
   been copied to the message block.

 - Fixed KeywordFix utility to prevent it from converting function names
   that match BASIC keywords to uppercase. The string following FN or
   PROC is now copied as is.

 - Fix for double-click. The code only checked if the 2nd click was
   within the configured double-click delay and the double-click cancel
   distance. However it was possible that the first click was on one
   line and the second on the line above/below. Added a check to make
   sure both clicks are on the same line.

 - Fix bug in BlockToChild. The len of the block passed in was copied
   to r7. But the code that builds the DataSave message used r7 and so
   the len was lost. This meant the check if it was a temp flex block
   would fail. It didn't have severe consequences but would result in
   the temp flex block being leaked.

 - Fixed ExportSyntaxGroups routine. It didn't take the sycf_fgsame and
   sycf_bgsame flags into account so the exported colours didn't match
   those shown on the screen.


Changes in StrongED 4.69f8 (from 4.69f7)
========================================

 - If there were multiple views on a text and a multi-line comment is
   added/changed only the view with the caret was redrawn correctly.
   Other views would redraw the changed line but not the text below it.

   (Wow, this bug was already there when Guttorm left so it's at least
   16 years old and no-one has spotted it till now.)

 - Ctrl-Menu click on the iconbar icon is now accepted and opens the
   iconbar menu. This has been added to allow the menu to be opened on
   RPCEmu (and Red Squirrel) using the right Alt key (Windows sends a
   virtual keycode for Ctrl first).

 - Added support for Adjust clicks in throwback windows (so it matches
   LoF behaviour). An Adjust click performs the same action as a Select
   click but closes the throwback window afterwards.

   Adjust:      move caret to target line.
   Ctrl-Adjust: create new view then move caret to target line.

 - Clicking in the Modes menu on the TaskWindow item now creates a
   TaskWindow. Before it would create a new text in TaskWindow mode.
   Which isn't very useful as TaskWindow mode is only designed to
   control which keys should be passed on to a TaskWindow.

 - The MatchBracket code would try to match the bracket at the caret
   even when it was in a comment or string instead of ignoring it.

 - The GotoBracket function (Ctrl-B) now puts up a warning when a
   bracket can't be matched. This provides better feedback, especially
   when the option 'Beep on error' is off.

 - Ctrl-Click in a LoF created a new view but it was the caret in the
   'old' view that was being moved. This was because the new view wasn't
   marked as being on top.

 - Menus in Global/Mode Choices would cause an abort when interactive
   help was active. Fixed by adding some code to handle these menus and
   provide (basic) help messages.

 - Previously the 'Process' item was shaded when no block was selected.
   This meant that its submenu could not be opened at all, including
   from the Infobar. Now the submenu items are shaded but the 'Process'
   item is not. The submenu can now be opened from the Infobar at all
   times (making it consistent with the Clipboard menu handling.


Changes in StrongED 4.69f7 (from 4.69f6)
========================================

 - When a bar caret was used bits of the caret could be left behind
   after the text was reformatted by smart indent.

 - Dragging the sliders in the ColourPicker didn't move in real time.

 - Killing a view from the LoW would abort if it was the only view on
   a text.

 - Clicking on the last SWI name in a LoF for a module could abort.

 - Searching in Dump mode would abort on ARMv7 if the display mode
   wasn't ASM.

 - When caret flashing was turned off when the caret was in the off
   state it would remain off.

 - Undoing a caret move didn't update the caret position field on the
   Infobar.

 - When StrongED owned the clipboard, pasting the clipboard content in a
   savebox didn't work.

 - Changing the filetype in a savebox could cause bits from the previous
   sprite to be left behind.

 - Selected views in the LoW could have their own colour but the Colours
   section of the Global Choices failed to list the item.

 - Turning off the Infobar would cause the view to be moved to the back
   of the window stack.

 - Trying to load a file using the file history menu aborted if the file
   could not be found.

 - The DigDirSED add-on (searches files in the same dir) didn't pass the
   filetype list to Lua correctly so including / excluding filetypes
   didn't work.

 - The KeywordFix add-on (converts BASIC keywords to uppercase) didn't
   treat '=' as a terminating character so failed on '=true' as 'true'
   wasn't recognised as a keyword.

 - The SpeakSED add-on has been updated tp the latest version. Gives a
   more user-friendly error message when it can't find eSpeak. Brief
   StrongHelp manual added.


Changes in StrongED 4.69f6 (from 4.69f5)
========================================

 - Fix bug that caused folding to abort on texts with two char NLs.


Changes in StrongED 4.69f5 (from 4.69f4)
========================================

 - Fix bug that prevented ModeWhen's filetype exclusion from working.


Changes in StrongED 4.69f4 (from 4.69f3)
========================================

 - Changed handling of Shift-drag to a TaskWindow so that it claims the
   input focus, useful if the TW had focus but the Filer claims it when
   you start to drag a file. Also moved Ctrl detection up so a leafname
   can be inserted into a TW too, just like regular views.

 - Fixed bug in SaveDrag function, (extended) filetype is in r6 not r2.
   This could result in the application 'dragged to' not accepting the
   file. extASM being the actual example but there may be others.

 - The template for the LoadDir dialogue box had an incorrect validation
   string which caused key presses in the dbox being sent to StrongED.
   StrongED then tried to look up which functions to execute but there
   is no text associated with the dbox so a pointer if -1 was used.
   ARMv5 allows this but ARMv7 does not.


Changes in StrongED 4.69f3 (from 4.69f2)
========================================

 - Dump mode had a serious redraw bug. Making a Dump mode view very
   narrow when automatic wrap was on would lead to redraw errors and
   occasionally a locked machine.


Changes in StrongED 4.69f2 (from 4.69f1)
========================================

 - Checking of permissions didn't work correctly when trying to use a
   ClickList function. Clicklist functions failed because of this.
   Missing instruction added.

 - Clicking on the right hand side of a character when using an outline
   font and bar caret should place caret to the right of that character.
   Didn't happen as the relevant code was still commented out.

 - Aligning tabs to the Tabstops definition didn't work correctly when
   using a non-proportional outline font. Code for it was still geared
   towards bitmap fonts.

 - Reading of cmos values for double-click delay and double-click
   cancel distance was still assuming pre-nested wimp allocations. This
   could result in a large delay and/or cancel distance. Code updated to
   test version of window manager in use.

 - Dragging a selection near the right edge of a window set to AutoWrap
   would scroll the content left. The exposed area at the right won't
   be redrawn as it's beyond the text's width. Now windows with AutoWrap
   set, don't scroll horizontally.

 - A similar bug to the above. Scroll a window with a large wrapwidth (>
   screen width) completely right, then set it to AutoWrap. The window's
   horizontal scroll offset isn't reset to 0 causing redraw failures
   when dragging over the window. Fixed by forcing the H scroll offset
   to 0 when (re-) opening a window with AutoWrap set.
